package com.hospital.common.base;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 线程属性类
 * <br>记录线程变量存储的属性，如当前用户信息
 * @author yhn
 * @version 1.0
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ThreadAttributes {
    /**
     * 用户ID
     */
    private Long userId;
    /**
     * 用户角色枚举值
     */
    private Integer roleType;

    /**
     * 获取线程属性实例
     * @param userId 用户ID
     * @param roleType 用户角色枚举值
     * @return 线程属性实例
     */
    public static ThreadAttributes getInstance(Long userId, Integer roleType){
        return new ThreadAttributes(userId, roleType);
    }
}
